package com.it.flowable.entity.leave;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 请假工作流业务表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("act_flw_service_data_leave")
public class ActFlwServiceDataLeaveVO implements Serializable {

    private static final long serialVersionUID = -3422362096208169184L;

    /**
     * 主键
     */
    @TableId(value = "C_TASK_ID", type = IdType.ASSIGN_UUID)
    @JsonProperty("cTaskId")
    private String cTaskId;

    @TableField("C_MAIN_ID")
    @JsonProperty("cMainId")
    private String cMainId;

    @TableField("C_TASK_NO")
    @JsonProperty("cTaskNo")
    private String cTaskNo;

    @TableField("C_TASK_TYPE")
    @JsonProperty("cTaskType")
    private String cTaskType;

    /**
     * 处理人
     */
    @TableField("C_OWNER_ID")
    @JsonProperty("cOwnerId")
    private String cOwnerId;

    @TableField("C_USER_ID")
    @JsonProperty("cUserId")
    private String cUserId;

    /**
     * 1 驳回标识
     */
    @TableField("C_TASK_KIND")
    @JsonProperty("cTaskKind")
    private String cTaskKind;

    /**
     * 0 初始态 1 通过 2 处理中 3 挂起 4 挂起恢复
     */
    @TableField("C_STATUS")
    @JsonProperty("cStatus")
    private String cStatus;

    @TableField("T_CRT_TM")
    @JsonProperty("tCrtTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tCrtTm;

    @TableField("T_UPD_TM")
    @JsonProperty("tUpdTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tUpdTm;

    @TableField("T_ACCEPT_TM")
    @JsonProperty("tAcceptTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tAcceptTm;

    @TableField("T_COMP_TM")
    @JsonProperty("tCompTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tCompTm;

}
